# filter() 过滤器
"""
filter(func,iterable)
功能:过滤数据，把 iterable 中的每个元素拿到func函数中进行处理，
    如果函数返回True则保留这个数据，返回False则丢弃这个数据
参数:
    func 自定义函数
    iteceble:可迭代的数据
返回值:保留下来的数据组成的迭代器
"""

# 对列表[1,2,3,4,5,6,7,8,9] 进行处理，保留所有的偶数,丢弃所有的奇数
number_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
# 普通方法实现
filter_list = []
for i in number_list:
    if i % 2 == 0:
        filter_list.append(i)
print(filter_list)


# 使用filter函数进行处理
def is_odd(x):
    if x % 2 == 0:
        return True
    else:
        return False


iterator = filter(is_odd, number_list)
print(list(iterator))